package com.local.cart.service;

import com.local.cart.pojo.ShoppingCart;

import javax.servlet.http.HttpSession;
import java.util.List;

public interface ShoppingCartService {

    /**
     * 加入购物车
     * @param shoppingCart
     * @return
     */
    public Integer addToShoppingCart(ShoppingCart shoppingCart);

    /**
     * 将用户购物车数据复制到session。在用户登录时执行本操作
     * @param session
     * @return
     */
//    public Integer addShoppingCartToSession(HttpSession session);


    /**
     * 加入购物车时，将数据也更新到session
     * @param session
     * @param shoppingCart
     * @return
     */
//    public Integer addGoodsToShoppingCartSession(HttpSession session, ShoppingCart shoppingCart);


    /**
     * 清空session中该用户的购物车数据。用于用户付款时，以及退出登录时
     * @param session
     * @return
     */
//    public Integer cleanShoppingCartSession(HttpSession session);


    /**
     * 删除
     * @param cartItemId
     * @return
     */
    public Integer deleteByCartItemId(Integer cartItemId);


    /**
     * 删除session中的记录
     * @param cartItemId
     * @param session
     * @return
     */
//    public void deleteSessionByCartItemId(HttpSession session, Integer cartItemId);


    /**
     * 更新商品数量
     * @param shoppingCart
     * @return
     */
    public Integer updateGoodsCount(ShoppingCart shoppingCart);


    public List<ShoppingCart> getListByUserId(Integer userId);

    /**
     * 通过ids批量删除
     * @param ids
     * @return
     */
    public Integer deleteByIds(List<Integer> ids);
}
